#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include "medecin.h"
                                                               /*SAISIR*/
void saisir_medecin(Medecin *M)
{
printf("donner le nom\n");
scanf("%s",M->nom);
printf("donner le prenom\n");
scanf("%s",M->prenom);
printf("donner le sex\n");
scanf("%s",M->sex);
printf("donner le cin\n");
scanf("%ld",&(M->cin));
printf("donner le age\n");
scanf("%d",&(M->age));
printf("donner la date d'embauche\n");
printf("donner le jour\n");
scanf("%d",&(M->jour));
printf("donner le mois\n");
scanf("%d",&(M->mois));
printf("donner l'annee\n");
scanf("%d",&(M->annee));
printf("donner le numero de telephone\n");
scanf("%ld",&(M->tel));
}
                                                             /*ENREGISTRER*/
void enregistrer_medecin(char fichier_medecin[],Medecin *M,int *n)
{
FILE*f;
f=fopen(fichier_medecin,"ab");
if(f!=NULL)
{
 if((*n)<MAX)
  {
 saisir_medecin(M);
 fwrite(M,sizeof(Medecin),1,f);
 (*n)++;
  }
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin\n");
}
fclose(f);
}
                                                               /*AFFICHER*/
void afficher_medecin_cin(char fichier_medecin[],Medecin M,long int cin)
{
FILE*f;

f=fopen(fichier_medecin,"rb");
if(f!=NULL)
{
	fread(&M,sizeof(Medecin),1,f);
   do  
  {
        if(cin==M.cin)
        {
        printf("nom:%s | prenom:%s | sex:%s | cin:%ld | age:%d | identifiant:%d |\n telephone:%ld | Date d'embauche:%d/%d/%d\n",M.nom,M.prenom,M.sex,M.cin,M.age,M.id_medecin,M.tel,M.jour,M.mois,M.annee);
        }
  }
  while(((fread(&M,sizeof(Medecin),1,f))!=0)&&(feof(f)!=1));
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin");
}
fclose(f);
}

                                                           /*AFFICHER FICHIER*/
void afficher_liste_medecin(char fichier_medecin[],Medecin M)
{
FILE*f;
f=fopen(fichier_medecin,"rb");
if(f!=NULL)
{
		strcpy(M.nom," " ) ;
		strcpy(M.prenom," " ) ;
                strcpy(M.sex," " ) ;
		M.cin=0 ;
		M.age=0 ;
                M.id_medecin=0 ;
                M.jour=0 ;
		M.mois=0 ;
                M.annee=0 ;
                M.tel=0;     

   fread(&M,sizeof(Medecin),1,f);
   do
  {
   printf("nom:%s | prenom:%s | sex:%s | cin:%ld | age:%d | identifiant:%d | telephone:%ld | Date d'embauche:%d/%d/%d\n",M.nom,M.prenom,M.sex,M.cin,M.age,M.id_medecin,M.tel,M.jour,M.mois,M.annee);
  }
   while(((fread(&M,sizeof(Medecin),1,f))!=0)&&(feof(f)!=1));
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin");
}
fclose(f);
}
                                                              /*RECHERCHER*/
int recherche_medecin_cin(char fichier_medecin[],Medecin M,long int cin)
{
FILE *f;
f=fopen(fichier_medecin,"rb");
if(f!=NULL)
{
	fread(&M,sizeof(Medecin),1,f);
   do  
  {
        if(cin==M.cin)
        {
        return 1;
        }
  }
  while(((fread(&M,sizeof(Medecin),1,f))!=0)&&(feof(f)!=1));
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin");
}
fclose(f);
}

                                                              /*SUPPRIMER*/
void supprimer_medecin( char fichier_medecin[],long int cin)
{
    char tmp[]="tmp.txt";
    FILE *f ;
    FILE *t ;
    Medecin M;

    
    f=fopen(fichier_medecin,"rb") ;
    //t=fopen(tmp,"wb") ;
    t=tmpfile();

    if (f!= NULL && t!=NULL)
     {
      while(fread(&M,sizeof(Medecin),1,f)!=0)
       {
          if( cin!=M.cin)
            {
             fwrite(&M,sizeof(Medecin),1,t) ;
            }
       }
     }

  
   printf(" cin  %ld supprimé \n",cin );
   

     fclose(f) ;
     fclose(t) ;

     f=fopen(fichier_medecin,"wb") ;
     t=fopen(tmp,"rb") ;

     while(fread (&M,sizeof(Medecin),1,t)!=0)
     {
      fwrite(&M,sizeof(Medecin),1,f) ;
     }

     fclose(f) ;
     fclose(t) ;

}


                                                              /*INISIALISER*/
void init_liste_medecin(char fichier_medecin[],Medecin *M)
{
FILE*f;
f=fopen(fichier_medecin,"w");
if(f!=NULL)
{
  printf("la liste est initialiser\n");
               
}           
else
{
printf("erreur lors de l'ouverture du fichier_medecin\n");
}
fclose(f);
}





/*int recherche_medecin_id(char fichier_medecin[],Medecin M,long int id)
{
FILE *f;
f=fopen(fichier_medecin,"rb");
if(f!=NULL)
{
	fread(&M,sizeof(Medecin),1,f);
   do  
  {
        if(id==M.id_medecin)
        {
        return 1;
        }
  }
  while(((fread(&M,sizeof(Medecin),1,f))!=0)&&(feof(f)!=1));
}
else
{
printf("erreur lors de l'ouverture du fichier_medecin");
}
fclose(f);
}
*/
